국가공무원 7급 소프트웨어공학 2018년

소프트웨어공학


1. 소프트웨어 개발 프로세스 모델 중 폭포수(waterfall) 모델에 대한 설명으로 옳지 않은 것은?
  • 1
     요구사항 분석을 완료한 후 설계 작업을 시작할 수 있다.
  • 2
     개발 후반부가 되어야 실행 가능한 소프트웨어가 만들어진다.
  • 3
     단계별 산출물을 체계적으로 문서화할 수 있다.
  • 4
     소프트웨어 요구사항의 변경이 많은 경우에 적합한 모델이다.
위키해설
클릭하면 보입니다.
  소프트웨어 개발 생명주기폭포수 모델
2. 소프트웨어 통합 프로세스(UP) 모델의 구체화 단계(elaboration phase)에서 하는 주요 활동으로 옳지 않은 것은?
  • 1
     사용자 환경에서 인수 테스트 수행
  • 2
     아키텍처 설계
  • 3
     요구사항 분석
  • 4
     중대한 위험 요소 식별 및 해결

3. 기능점수(FP)를 계산하기 위해 고려할 대상으로 옳지 않은 것은?
  • 1
     외부조회(EQ)
  • 2
     내부논리파일(ILF)
  • 3
     외부연계파일(EIF)
  • 4
     내부출력(IO)

4. 그림과 같이 관찰대상(Subject)의 데이터(A~D)에 변화가 발생하면 이 변화를 탐지하여 여러 가지 방식으로 사용자에게 디스플레이하는 프로그램을 작성하고자 한다. 이 프로그램에 적용할 수 있는 디자인 패턴은?
  • 1
     Decorator 패턴
  • 2
     Flyweight 패턴
  • 3
     Mediator 패턴
  • 4
     Observer 패턴

5. CMMI 모델의 정의 단계(defined level)에 해당하는 프로세스 영역으로 옳지 않은 것은?
  • 1
     제품 통합(product integration)
  • 2
     의사결정 분석 및 해결(decision analysis and resolution)
  • 3
     조직 교육 관리(organizational training)
  • 4
     조직 프로세스 성과 관리(organizational process performance)

6. PMBOK의 프로젝트 위험 관리 프로세스에 대한 설명으로 옳지 않은 것은?
  • 1
     위험 대응 기획은 위험에 대한 대응을 어떻게 할 것인지 대응 전략을 세우고, 그 대응 전략 이후에도 남아 있을 위험과 이차적인 위험, 위험 대응을 위해 필요한 시간과 비용, 위험에 대한 비상 계획, 예비 계획 등을 세우는 프로세스이다.
  • 2
     위험 관리 기획은 위험들을 언제, 어떤 방법으로, 어떻게 관리할 것인가를 계획하는 프로세스이다.
  • 3
     위험 식별은 도출된 위험들이 미치는 영향이 얼마나 큰지, 얼마나 자주 발생하는지 등을 분석하는 프로세스이다.
  • 4
     위험 모니터링 및 통제는 식별된 위험에 대해 추적하고, 잔존하는 위험을 감시하며, 새롭게 발견되는 위험을 식별하고, 위험 감소 효과를 평가하는 프로세스이다.

7. 대학교 학사관리시스템의 기능적 요구사항으로 옳지 않은 것은?
  • 1
     담당 교수는 자신이 맡은 과목의 성적을 입력 또는 수정한다.
  • 2
     학적관리자는 학생 정보를 등록, 삭제할 수 있다.
  • 3
     학생은 자신이 수강한 모든 과목의 성적을 조회할 수 있다.
  • 4
     시스템 장애로 인한 정지시간이 1년에 10시간을 넘지 않아야 한다.

8. 애자일 프로세스 모델에 해당하지 않는 것은?
  • 1
     동적 시스템 개발 방법(DSDM)
  • 2
     마르미(MaRMI)-RE
  • 3
     스크럼(scrum)
  • 4
     적응형 소프트웨어 개발(ASD)
위키해설
클릭하면 보입니다.
  애자일 방법론
9. 익스트림 프로그래밍의 테스팅에 대한 설명으로 옳지 않은 것은?
  • 1
     코드를 작성하기 전에 테스트 케이스를 먼저 작성한다.
  • 2
     각 사용자 스토리에 대해 테스트 케이스를 작성한다.
  • 3
     프로그램을 큰 단위로 나누어 릴리스 직전 테스트를 수행한다.
  • 4
     자동화된 테스팅 도구 사용을 권장한다.

10. 유스케이스에 대한 설명으로 옳은 것만을 모두 고르면?
ㄱ.개발자의 관점에서 요구사항을 정의한다.
ㄴ.액터는 시스템의 외부대상이므로 개발 범위에 포함되지 않는다.
ㄷ.유스케이스 명세서에는 비기능적 요구사항을 기술해서는 안 된다.
ㄹ.유스케이스와 이를 이용하는 액터와의 관계는 연관관계를 이용하여 표현한다.
  • 1
     ㄱ, ㄷ
  • 2
     ㄴ, ㄹ
  • 3
     ㄱ, ㄷ, ㄹ
  • 4
     ㄴ, ㄷ, ㄹ

11. 다음 설명에 해당하는 테스팅은?
○소프트웨어의 설계 한계를 넘어서는 부하를 준다.
○시스템의 장애 행동을 테스트한다.
○시스템이 최대 부하가 걸렸을 때만 보일 수 있는 결함을 드러나게 한다.
  • 1
     보안(security) 테스팅
  • 2
     회귀(regression) 테스팅
  • 3
     스트레스(stress) 테스팅
  • 4
     조합(combinatorial) 테스팅

12. 의 디자인 패턴 분류와 의 디자인 패턴을 바르게 연결한 것은?
보기
ㄱ.생성 패턴      
ㄴ.구조 패턴      
ㄷ.행위 패턴

보기2
A.Bridge 패턴  
B.Singleton 패턴 
C.Interpreter 패턴
  • 1
     ㄱA ㄴB ㄷC
  • 2
     ㄱB ㄴA ㄷC
  • 3
     ㄱB ㄴC ㄷA
  • 4
     ㄱC ㄴA ㄷB

13. 응집도를 강한 것부터 순서대로 나열할 때, ㉠~㉣에 들어갈 용어를 바르게 연결한 것은?
기능적 응집-순차적 응집-( ㉠ )-( ㉡ )-( ㉢ )-( ㉣ )-우연적 응집
  • 1
     ㉠절차적 응집 ㉡교환적 응집 ㉢시간적 응집 ㉣논리적 응집
  • 2
     ㉠절차적 응집 ㉡교환적 응집 ㉢논리적 응집 ㉣시간적 응집
  • 3
     ㉠교환적 응집 ㉡절차적 응집 ㉢시간적 응집 ㉣논리적 응집
  • 4
     ㉠논리적 응집 ㉡절차적 응집 ㉢교환적 응집 ㉣시간적 응집
위키해설
클릭하면 보입니다.
  응집도
14. 다음 코드와 부합하는 클래스 간의 관계로 옳은 것은?
class PC {
 private CPU cpu;
 private RAM[] rams; 
 private ROM rom;
 public PC() {
    this.cpu = new CPU();
    this.rams = new RAM[2];
    this.rom = new ROM();
 }
....
}
  • 1
     1
  • 2
     2
  • 3
     3
  • 4
     4

15. UML 시퀀스(sequence) 다이어그램의 구성요소로 옳지 않은 것은?
  • 1
     포크(fork)
  • 2
     생명선(lifeline)
  • 3
     메시지(message)
  • 4
     복합적 부분(combined fragment)
위키해설
클릭하면 보입니다.
  UML시퀀스 다이어그램
16. 역공학(reverse engineering) 프로세스에 대한 설명으로 옳지 않은 것은?
  • 1
     코드 난독화를 수행하면 역공학을 쉽게 할 수 있다.
  • 2
     제품의 추상화가 하위 수준에서 상위 수준으로 수행된다.
  • 3
     소스 코드를 분석하여 이해하기 쉬운 다이어그램으로 변형한다.
  • 4
     기존 시스템을 이해하기 위해 시스템을 구성하는 주요 요소들과 이들 사이의 관계를 파악한다.

17. 다음 설명에 해당하는 것은?
비슷한 유형의 응용프로그램들을 위해 재사용이 가능한 아키텍처와 협력하는 소프트웨어 산출물의 통합된 집합으로, 특정 클래스의 재사용뿐만 아니라 응용프로그램을 위한 핵심 아키텍처를 제공하여 설계의 재사용을 지원한다.
  • 1
     컴포넌트(component)
  • 2
     웹서비스(web service)
  • 3
     프레임워크(framework)
  • 4
     클래스 라이브러리(class library)

18. CRC 카드에 대한 설명으로 옳은 것만을 모두 고르면?
ㄱ.클래스의 연산에 대한 상세 알고리즘 설계를 위해 이용되는 도구이다.
ㄴ.클래스의 연산과 속성을 파악하는 데 이용되는 도구이다.
ㄷ.협력 클래스를 파악하는 데 이용되는 도구이다.
ㄹ.카드의 상단에 클래스 이름, 왼쪽 열에 협력자, 오른쪽 열에 클래스 책임을 나열한다.
  • 1
     ㄱ, ㄹ
  • 2
     ㄴ, ㄷ
  • 3
     ㄱ, ㄴ, ㄷ
  • 4
     ㄴ, ㄷ, ㄹ

19. 테스팅에서 프로그램의 실제 실행결과가 올바른 결과인지를 판단하는 메커니즘은?
  • 1
     테스트 하니스(test harness)
  • 2
     테스트 적합성 기준(test adequacy criteria)
  • 3
     테스트 오라클(test oracle)
  • 4
     테스트 종료 기준(test completion criteria)

20. 다음 표는 프로젝트를 수행하는 데 필요한 작업, 소요 기간, 선행 작업을 나타낸 것이다. 작업 T5를 담당한 개발자가 이직하여 대체 인력을 확보하였으나 대체 인력의 교육에 15일이 소요되어, 작업 T5는 소요 기간이 35일로 변경되었다. 프로젝트를 완료하기까지 필요한 최소 소요 기간은 개발자 이직 전보다 얼마나 증가하는가?
작업 소요 기간(일) 선행 작업
T1 10
T2 15 T1
T3 15
T4 10 T2, T3
T5 20 T3
T6 20 T5
T7 15 T4
T8 15 T5, T7
  • 1
     5일
  • 2
     10일
  • 3
     15일
  • 4
     35일
위키해설
클릭하면 보입니다.
  CPM임계경로
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
채점하기
hide
reset
타이머

모든 문제들의 저작권은 원저작권자에게 있습니다. 본 사이트는 웹상에 공개되어 있는 문제만 모아서 보여드립니다. 저작권 안내

copyright 2024 뉴비티::새로운 CBT 시스템 - newbt.kr 제휴 문의